Cypress Semiconductor /psoc63 /SMIF0 /CTL

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as CTL

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (MMIO_MODE)XIP_MODE 0CLOCK_IF_RX_SEL 0DESELECT_DELAY 0 (BUS_ERROR)BLOCK 0 (DISABLED)ENABLED

ENABLED=DISABLED, XIP_MODE=MMIO_MODE, BLOCK=BUS_ERROR

Description

Control

Fields

XIP_MODE

Mode of operation.

Note: this field should only be changed when the IP is disabled or when STATUS.BUSY is ‘0’ and SW should not be executing from the XIP interface or MMIO interface.

0 (MMIO_MODE): ‘0’: MMIO mode. Individual MMIO accesses to TX and RX FIFOs are used to generate a sequence of SPI transfers. This mode of operation allows for large flexibility in terms of the SPI transfers that can be generated.

1 (XIP_MODE): 1’: XIP mode. eXecute-In-Place mode: incoming read and write transfers over the AHB-Lite bus infrastructure are automatically translated in SPI transfers to read data from and write data to a device. This mode of operation allow for efficient device read and write operations. This mode is only supported in SPI_MODE.

CLOCK_IF_RX_SEL

Specifies device interface receiver clock ‘clk_if_rx’ source. MISO data is captured on the rising edge of ‘clk_if_rx’. ‘0’: ‘spi_clk_out’ (internal clock) ‘1’: !‘spi_clk_out’ (internal clock) ‘2’: ‘spi_clk_in’ (feedback clock) ‘3’: !‘spi_clk_in’ (feedback clock)

Note: the device interface transmitter clock ‘clk_if_tx’ is fixed and is ‘spi_clk_out’ MOSI data is driven on the falling edge of ‘clk_if_tx’.

DESELECT_DELAY

Specifies the minimum duration of SPI deselection (‘spi_select_out[]’ is high/‘1’) in between SPI transfers: ‘0’: 1 interface clock cycle. ‘1’: 2 interface clock cycles. ‘2’: 3 interface clock cycles. ‘3’: 4 interface clock cycles. ‘4’: 5 interface clock cycles. ‘5’: 6 interface clock cycles. ‘6’: 7 interface clock cycles. ‘7’: 8 interface clock cycles.

During SPI deselection, ‘spi_select_out[]’ are ‘1’/inactive, ‘spi_data_out[]’ are ‘1’ and ‘spi_clk_out’ is ‘0’/inactive.

BLOCK

Specifies what happens for MMIO interface read accesses to an empty RX data FIFO or to a full TX format/data FIFO. Note: the FIFOs can only be accessed in MMIO_MODE.

This field is not used for test controller accesses.

0 (BUS_ERROR): 0’: Generate an AHB-Lite bus error. This option is useful when SW decides to use polling on STATUS.TR_BUSY to determine if a interface transfer is no longer busy (transfer is completed). This option adds SW complexity, but limits the number of AHB-Lite wait states (and limits ISR latency).

1 (WAIT_STATES): 1’: Introduce wait states. This setting potentially locks up the AHB-Lite infrastructure and may increase the CPU interrupt latency.This option is useful when SW performs TX/RX data FIFO accesses immediately after a command is setup using the TX format FIFO. This option has low SW complexity, but may result in a significant number of AHB-Lite wait states (and may increase ISR latency).

ENABLED

IP enable: ‘0’: Disabled. All non-retention registers are reset to their default value when the IP is disabled. When the IP is disabled, the XIP accesses produce AHB-Lite bus errors. ‘1’: Enabled.

Note: Before disabling the IP, SW should ensure that the IP is NOT busy (STATUS.BUSY is ‘0’), otherwise illegal interface transfers may occur.

0 (DISABLED): N/A

1 (ENABLED): N/A

Links

() ()